nike 오픈소스라니!
오늘은 nike에서 내 놓은 swift 용 logger 라이브러리가 순위에 올라왔습니다. IT 기업과 비 IT기업의 경계는 점점 없어져 가는 것 같습니다. 스타벅스의 하워드 슐츠가 “우리는 IT기업이다” 라고 이야기 하고 다니는 것도 예삿일은 아닐겁니다.
2016/06/마지막날 Editor’s choice
Nike-Inc/Willow
_Willow is a powerful, yet lightweight logging library written in Swift._github.com
다음과 같은 feature들을 가지고 있습니다.
- Default Log Levels
- Custom Log Levels
- Simple Logging Functions using Closures
- Configurable Synchronous or Asynchronous Execution
- Thread-Safe Logging Output (No Log Mangling)
- Custom Formatters through Dependency Injection per Log Level
- Customizable Color Formatting for Console Output
- Custom Writers through Dependency Injection per Log Level
- Supports Multiple Simultaneous Writers
- Shared Loggers Between Frameworks
- Shared Locks or Queues Between Multiple Loggers
- Comprehensive Unit Test Coverage
- Complete Documentation
설치하기
실제로 라이브러리를 사용하는 기준으로 설명을 드리면, 먼저 XCODE로 프로젝트를 생성합니다. Carthage를 사용해서 설치하는 것을 기준으로 설명하겠습니다.
그냥 아무 프로젝트나 생성하면 됩니다.
이후 생성된 폴더에 들어가서 Cartfile을 만들고
$carthage update
를 치면 아래 링크asciinema에 보이는 형태 대로 설치가 됩니다.
untitled
_Recorded by keen_asciinema.org
빌드가 되고나면
framework파일이 빌드가 되어 있습니다.
xcode 에 드래그앤 드롭 한 뒤에 사용하면 됩니다.
AppDelegate 파일을 열어 didFinishLaunchingWithOptions 에 다음과 같이 작성하면
**let log = Logger()**
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: \[NSObject: AnyObject\]?) -\> Bool {
// Override point for customization after application launch.
let splitViewController = self.window!.rootViewController as! UISplitViewController
let navigationController = splitViewController.viewControllers\[splitViewController.viewControllers.count-1\] as! UINavigationController
navigationController.topViewController!.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem()
splitViewController.delegate = self
**log.info { "My app has started" }**
return true
}
아래와 같이 log를 땋 하고 찍어줍니다!
Embed!
혹시 image not found가 뜨면 Embeded Binaries에 추가하시면 에러는 해결이 됩니다.
By Keen Dev on June 30, 2016.
Exported from Medium on May 31, 2017.